Wireless Sensor Networks (WSNs) have applications in areas such as e-Health, Smart Community and Smart Grid. WSNs consist of sensors operating autonomously and reporting application specific parameters to a central server. These parameters can be vital signs of a patient for a health-care scenario or air quality monitoring for a “Smart City” application. Many of these applications require the sensors to be battery powered and operate over long period of time reliably. One way to reduce the energy consumption in the network is to duty-cycle the radio interface in order to extend network lifetime. On the other hand, in some cases, it may be possible to take advantage of in-network aggregation and storage where the sensor devices store the generated data locally to reduce network traffic and extend network lifetime. In this case, the data is forwarded to the sink node on an event based approach where either a trigger event or a query from the sink is used to ferry the sensor data to the sink node. In this case, it is important to store and retrieve the generated sensor data reliably which can be achieved using a distributed storage approach where data belonging to a node is stored across a number of nodes and retrieved by connecting a subset of these nodes in the event of a node or link failure.
Array codes can be used in networks to introduce redundancy and protect against node or link failures. This is achieved by having nodes exchange data symbols and storing parity symbols based on the data from other nodes. However the parity symbols can only be computed if these data symbols are successfully exchanged.